Field of the Invention
This invention relates to systems and methods for balancing load among virtual storage drives.
Background of the Invention
Processor speeds and main memory sizes have historically increased at a much faster pace than access times to storage drives, such as hard disk drives or solid state drives. As a result, storage drives in a storage system are often the bottleneck in a computing system. This problem is often addressed by adding storage drives to the storage system. Adding storage drives also increases storage capacity and provides improved access concurrency. However, to take advantage of improved access concurrency, the storage system typically needs to distribute I/O across the storage drives as evenly as possible. Stated otherwise, in order to prevent performance bottlenecks within the system, the storage system needs to avoid as much as possible load imbalances where certain storage drives are utilized more than others.
Problems with load imbalance may become more problematic as the storage capacity of storage drives increases. That is, larger storage drives may create more of a performance bottleneck than smaller storage drives since they may need to accommodate additional I/O to their larger number of addressable storage elements. For this reason, load balancing within storage systems may take on additional importance when using larger capacity storage drives. In certain cases, the storage capacity of larger storage drives may be divided into smaller “virtual storage drives” to alleviate some problems with performance bottlenecks as well as address issues with the addressability of storage elements within the larger storage drives. However, there is still a need to balance load across the virtual storage drives to ensure that some virtual storage drives are not receiving significantly more I/O than other virtual storage drives and thereby creating performance bottlenecks within the system.
In view of the foregoing, what are needed are systems and methods to balance load among virtual storage drives in a storage system.